
import request from '../../utils/request'

let startY = 0; //定义初始位置
let endY = 0; //最终位置
let distanceY = 0; //移动距离

Page({

  /**
   * 页面的初始数据
   */
  data: {
    convertTransform: 'translateY(0rpx)', // 位移
    convertTransition: 'transform 1s linear', // 过度
    userInfo: {}, // 用户信息
    recentList: {} // 最近播放列表
  },

  // 获取初始位置
  handlerStart(e) {
    // 重置过度效果，防止下拉的时候也有过度效果
    this.setData({
      convertTransition: ''
    })

    startY = e.touches[0].clientY;
  },

  // 获取移动中的位置
  handlerMove(e) {
    endY = e.touches[0].clientY; // 结束位置
    distanceY = endY - startY; // 位移距离
    // 设置界限
    if (distanceY <= 0) {
      distanceY = 0;
      return;
    }
    if (distanceY >= 80) {
      distanceY = 80;
    }
    this.setData({
      convertTransform: `translateY(${distanceY}rpx)`
    })
  },

  // 点击事件结束
  handlerEnd() {
    this.setData({
      convertTransform: 'translateY(0rpx)',
      convertTransition: 'transform .5s linear'
    })
  },

  // 跳转登录
  toLogin() {
    const {
      userInfo
    } = this.data
    // 判断是否已经登录，登录了就不需跳转
    if (!userInfo.nickname) {
      wx.navigateTo({
        url: '/pages/login/login'
      })
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    const userInfo = wx.getStorageSync('userInfo'); // 从本地存储中获取和用户信息
    if (userInfo) {
      this.setData({
        userInfo: JSON.parse(userInfo) // 存入到data中
      })
      this.getRecentListData(this.data.userInfo.userId); // 获取最近播放列表
    }
  },

  async getRecentListData(uid) {
    const result = await request('/user/record', {
      uid,
      type: 1
    })
    let index = 0;
    const recentListData = result.weekData.slice(0, 10).map(item => {
      item.id = index++;
      return item;
    })
    this.setData({
      recentList: recentListData
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})